package day12;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

//a.参考课上讲述的定长线程池的案例 通过可缓存线程池 去完成下列需求
//现在餐厅生意越来越好了，老板直接跟大厨说，你能炒多快，就炒多快，灶台随时可以
//加，好好干，工资不会少。同样用线程池模拟炒五个菜的过程，并且统计炒完共计花费了多久
public class Home3 {
    public static void main(String[] args) {
        String[] names={"红烧鸡脚","甲鱼","红烧猪蹄","正宗回锅肉","重庆火锅"};
        //1.创建
        ExecutorService es= Executors.newCachedThreadPool();
        long start=System.currentTimeMillis();
        for(int i=1;i< names.length;i++){
            int index=i;
            //2.执行
            es.execute(()->{
                String name=Thread.currentThread().getName();
                System.out.println(name+"开始做菜"+names[index]);
                System.out.println(name+"做好了"+names[index]);
            });
        }
        es.shutdown();
        while (true){
            if(es.isTerminated()){
                long end=System.currentTimeMillis();
                System.out.println("全部菜都做好好了,一共耗时:"+(end-start)+"ms");
                break;
            }
        }
    }
}
